热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

积木|物品_HaaSPython+达摩院AI能力实现云端一体物体识别

篇首语:本文由编程笔记#小编为大家整理,主要介绍了HaaSPython+达摩院AI能力实现云端一体物体识别相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了HaaS Python + 达摩院AI能力 实现云端一体物体识别相关的知识,希望对你有一定的参考价值。



物体识别系统

   本案例是确定要识别的物体区域后,通过模拟按键通知摄像头抓拍区域图片并上传至云端,云端通过HaaS增值服务对抓拍的图片进行识别,最后给出图片中的都有哪些物品,同时给出识别物品名称和可信度,通常使用在装修设计、图片检查上辅助操作者确定物品是否齐全。


背景知识

   HaaS增值服务:集多种人工智能算法为一体的云端服务,通过设备端上传图片到云端,云端对图片进行识别,并把结果返回给设备的服务,目前已涵盖图片识别、文字识别、物品识别、人型识别等多个类别。


场景功能拆解

实验整体步骤如下:
1. 连接硬件
2. HaaS云端积木平台创建设备
3. 设备端开发和运行
4. 处理云端识别结果

准备

1. M5Stack Core2开发板 一套
2. M5Stack Unit CAM摄像头 一个
3. 连接线 一根
4. 公对母杜邦线 若干

涉及到的硬件购买链接如下,仅供参考,不负责商家发货的品质保障等问题!


名称数量参考链接
M5Stack Core2开发版1M5Stack Core2
microUSB数据线1M5Stack Core2开发套件自带
摄像头1M5Stack Unit CAM摄像头
连接线1条M5Stack GROVE连接线 请选用10cm长即可
公对母杜邦线若干公对母杜邦线 请选用10cm长即可

   连线示意图如下图所示:


   硬件连线图如下图所示:



云端平台功能开通

在本案例中涉及到云端平台功能都聚合在HaaS云端积木中,所以无需单独使用 对象存储OSS视觉智能开发平台。因此,整个云端步骤分为下面两步。

1. 注册阿里云账号并登录阿里云账号;
2. 登录HaaS云端积木控制台创建设备;

注册阿里云账号

   进入阿里云官网,如已有阿里云账号可跳过这步,注册阿里云账号 。


HaaS云端积木平台创建设备


  1. 登录HaaS云端积木平台

   进入阿里云官网,用阿里云账号登录HaaS云端组件控制台 。



  1. 创建设备

   在左侧导航栏设备管理中,可以看到产品和设备选项,点击“产品”,可以看到平台默认创建了“haas_正式游客产品”这个产品; 所以开发者只需要创建设备即可。点击“批量添加”, 添加方式为“自动生成”, 申请数量可填为“1”个,即可完成新设备的创建。



  1. 获取设备的三元组

   在设备的列表中,新创建的设备上点击“查看”,就可以获得设备的三元组信息,之后这个三元组信息会在设备端代码中使用到。


   请复制该处的三元组信息,后面设备端开发需要使用。


设备端开发


  1. 开发环境

   在进行下一步之前请确保M5StackCore2开发环境已经搭建完毕。详情请参考M5StackCore2快速开始的说明。


  1. 创建解决方案

   如下图所示,打开VSCode后,新建一个基于helloworld的python工程,设定好工程名称(“detect_object”)及工作区路径之后,硬件类型选择m5stackcore2,点击立即创建,创建一个Python轻应用的解决方案。


  1. 代码准备

下载设备端代码并解压,将解压后的所有脚本复制替换“detect_object”工程根目录下的所有文件,然后进行如下设定完成设备端代码的开发。



Python脚本的详细说明请参考脚本内嵌的文字注释


3.1. 修改路由器名称及密码

   修改detect_object工程里main.py中SSID和PWD的值为读者实际要连接的路由器的名称及密码(请注意名称和密码都需要放在''符号中间)。

   修改完成之后connect_wifi函数就会连接读者自己设定的路由器。

# Wi-Fi SSID和Password设置
SSID='Your-AP-SSID'
PWD='Your-AP-Password'

3.2. 修改设备的三元组信息

   按照[获取设备的三元组]获取三元组信息,填入main.py中:

# HaaS设备三元组
productKey = "Your-ProductKey"
deviceName = "Your-devicename"
deviceSecret = "Your-deviceSecret"

3.3. 运行结果

   推送此脚本到M5Stack之后,在网络连接成功后,屏幕上将打印出IP地址和"NTP Done"。如果迟迟不能显示“NTP Done”,请长按电源键关机同时拔掉USB线重新上电运行。

   模拟按钮动作,可通过公对公杜邦线模拟,先把一头插入GPIO27,然后把另一头插入GND后,马上拔出,即启动抓拍并上传云端,识别成功后串口会有提示。

   物体识别识别成功后,在屏幕上显示红色Object Detected的字样。

   串口会周期性的打印如下日志。

Wi-Fi is connecting...
Wi-Fi is connecting...
Wi-Fi is connected
IP: 192.168.xxx.xxx
NTP start
NTP done
establish tcp connection with server(host='$Your-ProductKey.iot-as-mqtt.cn-shanghai.aliyuncs.com',port=[443])
tcp_connect: can only connect from state CLOSED
success to establish tcp,fd=54
link platform connected
启动按钮监控线程
按下拍照按钮
[ 24.210]AIOT_UPLOAD MQTT Upload file(detectObject.jpg) ID(HPmY8VNEXj2K6skS3t3S010200) success
'ext': '"elements":["boxes":[33,134,111,238],"score":0.3,"type":"potted plant","boxes":[33,134,111,238],"score":0.208,"type":"flower"]"result":"success"','commandName': 'detectObjectReply','commandType': 'haas.faas','argInt': 1
detect: potted plant
识别结束
get response time : 1234
按下拍照按钮
[ 27.100]AIOT_UPLOAD MQTT Upload file(detectObject.jpg) ID(OLnlY33oqKZZgf7yu6gX010200) success
get response time : 458
'ext': '"elements":["boxes":[48,86,178,111],"score":0.378,"type":"keyboard"],"result":"success"','commandName': 'detectObjectReply','commandType': 'haas.faas','argInt': 1
detect: keyboard
识别结束



前往这里探索更多有趣案例

HaaS开发框架https://haas.iot.aliyun.com/solution












与50位技术专家面对面


20年技术见证,附赠技术全景图


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
author-avatar
男人要走火_293
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有